/**
 * Copyright (C) 2011 Andrew C. Love (DNC) <dnc.app.sup@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.dnc.cloak.framework.messaging;

import java.io.Serializable;

public interface Message extends Serializable {
    public static String ID = "IMessage.ID";
    public static String MESSAGE_TYPE = "IMessage.MESSAGE_TYPE";
    public static String MESSAGE = "IMessage.MESSAGE";
    public static String RESULT = "IMessage.RESULT";
    public static String ERROR_MESSAGE = "IMessage.ERROR_MESSAGE";
    public static String RESPONSE = "IMessage.RESPONSE";
    public static String REQUEST = "IMessage.REQUEST";
    
    String getID(); 
    String getProtocolID(); 
    String getMessageType(); 
    String getResult(); 
    String getErrorMessage(); 
    String getMessage(); 
    String getResponse(); 
    String getRequest();
    
    void setID(String id); 
    void setProtocolID(String protocolID); 
    void setMessageType(String messageType); 
    void setResult(String result); 
    void setErrorMessage(String errorMessage); 
    void setMessage(String message); 
    void setResponse(String response); 
    void setRequest(String request);
    Object getProperty(String key);
    void setProperty(String key, Object value);    

}